from langchain_community.tools.ainetwork import app
# pip install langchain
# pip install langchain-zhipu
# import os
# import getpass

from langchain_zhipu import ChatZhipuAI

from langchain_core.output_parsers import StrOutputParser
from langchain.prompts.chat import (ChatPromptTemplate, AIMessagePromptTemplate, SystemMessagePromptTemplate,
                                    HumanMessagePromptTemplate)

output_parser = StrOutputParser()

# llm = ChatZhipuAI(model="glm-4")
llm = ChatZhipuAI(api_key="d3708ee404327e207b2f003775e06908.X3dgRCxbkyDfEIbh"
                  , model="glm-4")  # 温度设置为0，结果随机性
template = """
你是客服AI助手，名字叫“小帮”。你的任务是针对用户的问题和要求提供专业、友好的服务。以下是你需要考虑的背景信息：[背景信息]。现在，用户提出了一个问题，请根据以下模板生成回复：

模板：
尊敬的用户，您好！我是[公司名称]的客服AI助手小帮。很抱歉给您带来不便。关于您的问题[用户问题]，我想了解以下细节：[需要补充的问题]。根据我的了解，[可能的解决方案]。请问您对此有何看法？如果还有其他问题，请随时告诉我。

注意事项：
0.不要假设或猜测，尽可能简短且友好的回复客户，等待客户提问
1. 保持语言礼貌、简洁。
2. 尽量提供明确的解决方案或建议。
3. 如果需要更多信息，请礼貌地询问。

现在，请根据以上模板回复以下用户问题：
"""
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
human_template = """用户：“{text}”

补充信息（如果有的话）：
- 用户提到的产品/服务名称：[产品/服务名称]
- 用户遇到的问题类别：[问题类别]
- 用户的其他需求：[其他需求]"""
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)

chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])# prompt = chat_prompt.from_messages(input_language="English", output_language="Chinese", text="How are you")
# @app.post("/chat")
# async def chat(request):
chain = chat_prompt | llm | output_parser
print(chain.invoke({
    "text": "我买了一个水杯，碎了可以退货么？"}))
